.TH std::basic_ifstream::open 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_ifstream::open \- std::basic_ifstream::open

.SH Synopsis
   void open( const char* filename,

              std::ios_base::openmode mode                       \fB(1)\fP

                  = std::ios_base::in );
   void open( const std::filesystem::path::value_type* filename,

              std::ios_base::openmode mode                       \fB(2)\fP \fI(since C++17)\fP

                  = std::ios_base::in );
   void open( const std::string& filename,

              std::ios_base::openmode mode                       \fB(3)\fP \fI(since C++11)\fP

                  = std::ios_base::in );
   void open( const std::filesystem::path& filename,

              std::ios_base::openmode mode                       \fB(4)\fP \fI(since C++17)\fP

                  = std::ios_base::in );

   Opens and associates the file with name filename with the file stream.

   Calls clear() on success. Calls setstate(failbit) on failure.

   1,2) Effectively calls rdbuf()->open(filename, mode | ios_base::in) (see
   std::basic_filebuf::open for the details on the effects of that call).
   Overload \fB(2)\fP is only provided if std::filesystem::path::value_type is not char.
   \fI(since C++17)\fP
   3,4) Effectively calls (1,2) as if by open(filename.c_str(), mode).

.SH Parameters

   filename - the name of the file to be opened
              specifies stream open mode. It is a BitmaskType, the following constants
              are defined:

              Constant          Explanation
              app               seek to the end of stream before each write
   mode     - binary            open in binary mode
              in                open for reading
              out               open for writing
              trunc             discard the contents of the stream when opening
              ate               seek to the end of stream immediately after open
              noreplace (C++23) open in exclusive mode

.SH Return value

   \fI(none)\fP

.SH Example

    This section is incomplete
    Reason: no example

   Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

     DR    Applied to             Behavior as published               Correct behavior
   LWG 22  C++98      it was unclear how error state changes upon a  the error state is
                      successful open                                unchanged
   LWG 409 C++98      the error state was unchanged upon a           it is cleared^[1]
                      successful open

    1. ↑ The resolution of LWG issue #22 is overriden.

.SH See also

   is_open checks if the stream has an associated file
           \fI(public member function)\fP
   close   closes the associated file
           \fI(public member function)\fP
   open    opens a file and configures it as the associated character sequence
           \fI(public member function of std::basic_filebuf<CharT,Traits>)\fP

.SH Category:
     * Todo no example
